home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / src / tutorials / geometer / gizmo.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-02  |  2.1 KB  |  81 lines

  1. /*
  2.  * Copyright 1991, 1992, 1993, 1994, Silicon Graphics, Inc.
  3.  * All Rights Reserved.
  4.  *
  5.  * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  6.  * the contents of this file may not be disclosed to third parties, copied or
  7.  * duplicated in any form, in whole or in part, without the prior written
  8.  * permission of Silicon Graphics, Inc.
  9.  *
  10.  * RESTRICTED RIGHTS LEGEND:
  11.  * Use, duplication or disclosure by the Government is subject to restrictions
  12.  * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  13.  * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
  14.  * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
  15.  * rights reserved under the Copyright Laws of the United States.
  16.  */
  17.  
  18. #ifndef __GIZMO_H__
  19. #define __GIZMO_H__
  20.  
  21. #define GIZMO_MASTER    1234
  22.  
  23. /* GIZMO BLOCK STUFF */
  24. typedef struct Gizmofblock {
  25.     char        *name;            /* name of window     */
  26.     char        *iconname;        /* name of icon        */
  27.     void        (*initwidgets)();
  28.     long        (*initsubwindow)();    /* init for subwin or 0    */
  29.     void        (*activatewidgets)();
  30.     void        (*drawwidgets)();
  31.     void        (*drawsubwindow)();
  32.     long        (*interpclick)();
  33.     long        (*interpchar)();
  34.     long        (*interpother)();
  35.     void        (*locatemouse)();
  36.     long        (*readfromsocket)();
  37.     long        (*getheight)();
  38.     long        (*getwidth)();
  39. } gfblock_t;
  40.  
  41. typedef struct gizmo {
  42.     char     name[128];
  43.     int    fd;
  44.     int    pid;
  45.     long    llx;
  46.     long    lly; 
  47.     long    xsize;
  48.     long    ysize; 
  49.     long    state;
  50.     void    (*initme)();
  51.     void    (*killme)();
  52.         struct gizmo    *next;
  53. } gizmo_t;
  54.  
  55. #define GIZMOSTATE_CLOSED   0
  56. #define GIZMOSTATE_OPEN     1
  57. #define GIZMOSTATE_STOWED   2
  58.  
  59. /* devices for reiniting the browsegizmo */
  60.  
  61. #define ABORT                20002
  62. #define    GIZMOINITEND        20136
  63. #define    BUTTONSTRDEV        20143    
  64. #define    TITLESTRDEV        20144
  65. #define    ACCEPTSTRDEV        20145
  66. #define    REINITEND        20146
  67. #define FILENAMEDEV         20082
  68. #define    CREATEDEV           20083
  69. #define    POKEGIZMO           20086
  70. #define    DIRNAMEDEV        20094
  71. #define    GIZMOXORG        20095
  72. #define    GIZMOYORG        20096
  73. #define    QUITGIZMO        20097
  74. #define MESSAGEDEV          20014
  75.  
  76. void opengizmo(long);
  77. void murdergizmos();
  78. long cookedqread(long *);
  79.  
  80. #endif
  81.